/*
 * Copyright (c) 2017. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
 * Etiam sed turpis ac ipsum condimentum ingilla. Maecenas magna.
 * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
 * Vestibulum commodo. Ut rhoncus gravida arcu.
 */

package cn.itenzo.common.validate;

import com.baidu.unbiz.fluentvalidator.Validator;
import com.baidu.unbiz.fluentvalidator.ValidatorContext;
import com.baidu.unbiz.fluentvalidator.ValidatorHandler;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 验证手机号码<br>
 * 
 * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、178、182、183、187、188、147<br>
 * 联通号码段:130、131、132、136、185、186、145,176<br>
 * 电信号码段:133、153、177,180、189<br>
 * 
 * @author ENZO
 */
public class TelValidate extends ValidatorHandler<String> implements Validator<String> {

	@Override
	public boolean validate(ValidatorContext context, String t) {

		if (null == t ){ //|| 11 != t.length()) {
			context.addErrorMsg("没有输入手机号");
			return false;
		}
		Pattern p = Pattern.compile("^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([6-8]))|(18[0-3|5-9]))\\d{8}$");
		Matcher m = p.matcher(t);
		if (!m.matches()) {
			context.addErrorMsg(String.format("%s,不是一个有效的手机号", t));
			return false;
		}
		return true;
	}

}
